Eli Zaretskii [Sun, 18 Jul 2021 14:27:23 +0000 (17:27 +0300)]
Fix display of mode-line with bidi formatting controls
* src/xdisp.c (face_before_or_after_it_pos): Reimplement the bidi
iteration to find the character after the current in visual order.
(Bug#49562)
Michael Albinus [Sun, 18 Jul 2021 13:57:41 +0000 (15:57 +0200)]
Fix problem in `shadow-define-literal-group' (Bug#49596)
* lisp/shadowfile.el (shadow-make-fullname): HOST can also be a
remote file name. Bug#49596.
* test/lisp/shadowfile-tests.el (auth-source-save-behavior)
(tramp-cache-read-persistent-data, tramp-persistency-file-name):
Set them globally.
(shadow-test06-literal-groups): Extend test.
Lars Ingebrigtsen [Sun, 18 Jul 2021 13:24:55 +0000 (15:24 +0200)]
Make indent-tabs-mode into a regular mode instead of just a variable
* lisp/simple.el (indent-tabs-mode): Make into a minor mode (bug#6276).
Lars Ingebrigtsen [Sun, 18 Jul 2021 12:49:48 +0000 (14:49 +0200)]
Don't shorten comment padding if the padding isn't spaces
* lisp/newcomment.el (comment-padright): Don't shorten non-space
padding (bug#6822).
(comment-padleft): Ditto.
Lars Ingebrigtsen [Sun, 18 Jul 2021 12:31:09 +0000 (14:31 +0200)]
Fix an unlikely `copyright-find-copyright' problem
* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
the copyright matcher more robust (bug#7179).
Mattias Engdegård [Sun, 18 Jul 2021 11:33:30 +0000 (13:33 +0200)]
; * etc/NEWS: Move entry to its right place.
Lars Ingebrigtsen [Sat, 17 Jul 2021 14:56:35 +0000 (16:56 +0200)]
Fix previous grep-file-at-point change
* lisp/progmodes/grep.el (grep-file-at-point): Fix previous change.
Lennart Borgman [Sat, 17 Jul 2021 14:53:36 +0000 (16:53 +0200)]
Add new function 'grep-file-at-point'
* lisp/progmodes/grep.el (grep-file-at-point): New function to
return the file name at point (bug#8252).
Karthik Chikmagalur [Sat, 17 Jul 2021 14:29:11 +0000 (16:29 +0200)]
Enhance pcomplete support for xargs
* lisp/pcmpl-unix.el (pcomplete/xargs): Add support for completing xargs
options, including the ability to distinguish them from the command
xargs runs (bug#49603).
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Sat, 17 Jul 2021 13:41:33 +0000 (15:41 +0200)]
Make 'n'/'p' work again in shortdoc after previous changes
* lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Adjust to
changes in how the text properties are inserted in
22a5482ab6
(bug#49605). Also make into a regular function.
akater [Mon, 12 Jul 2021 14:15:54 +0000 (14:15 +0000)]
EIEIO: Prevent excessive evaluation of :initform
* lisp/emacs-lisp/eieio.el (initialize-instance):
Do not evaluate initform of a slot when initarg for the slot is provided,
according to the following secitons of CLHS:
- Object Creation and Initialization
- Initialization Arguments
- Defaulting of Initialization Arguments
- Rules for Initialization Arguments
* test/lisp/emacs-lisp/eieio-etests/eieio-tests.el:
Add corresponding tests
Fix a typo
Mattias Engdegård [Fri, 16 Jul 2021 11:04:14 +0000 (13:04 +0200)]
Define revert-buffer-function for *Memory Report*
* lisp/emacs-lisp/memory-report.el (memory-report):
Allow the memory report buffer to be updated by pressing 'g'.
Michael Albinus [Fri, 16 Jul 2021 16:54:12 +0000 (18:54 +0200)]
; Fix last change in files.el
Michael Albinus [Fri, 16 Jul 2021 16:13:28 +0000 (18:13 +0200)]
Add lock-file-mode
* doc/emacs/files.texi (Interlocking):
* doc/lispref/files.texi (File Locks):
* etc/NEWS: Add lock-file-mode.
* lisp/files.el (lock-file-name-transforms)
(remote-file-name-inhibit-locks): Move down.
(lock-file-mode): New minor mode.
Glenn Morris [Fri, 16 Jul 2021 14:51:35 +0000 (07:51 -0700)]
Merge from origin/emacs-27
7ac411ae2c (origin/emacs-27) ; * src/data.c (Fcar, Fcdr): Doc fix.
0d9e1826f7 One more minor update of the Emacs manual for 19th printing
92616d30e0 ; Fix let-alist Texinfo markup
c13acf8e34 ; * doc/emacs/mule.texi (International Chars): Mention 'de...
Eli Zaretskii [Fri, 16 Jul 2021 13:26:21 +0000 (16:26 +0300)]
; Fix wording of recent changes in documentation
* lisp/files.el (query-about-changed-file):
* doc/emacs/files.texi (Visiting):
* etc/NEWS: Fix the wording of a recent change. (Bug#10755)
Lars Ingebrigtsen [Fri, 16 Jul 2021 12:51:03 +0000 (14:51 +0200)]
Clarify emacsclient Options node in the Emacs manual
* doc/emacs/misc.texi (emacsclient Options): Don't claim that
emacsclient searches for a socket name (bug#13319).
Lars Ingebrigtsen [Fri, 16 Jul 2021 12:30:24 +0000 (14:30 +0200)]
Add new user option 'query-about-changed-file'
* doc/emacs/files.texi (Visiting): Document it.
* lisp/files.el (query-about-changed-file): New user option (bug#10775).
(find-file-noselect): Use it.
Lars Ingebrigtsen [Fri, 16 Jul 2021 11:59:42 +0000 (13:59 +0200)]
Fix lock-file-name-transforms build problem
* lisp/files.el (lock-file-name-transforms): Remove
custom-initialize-delay to fix build problem (bug#49507).
Eli Zaretskii [Fri, 16 Jul 2021 11:30:12 +0000 (14:30 +0300)]
Fix wording in a recent ELisp manual change
* doc/lispref/tips.texi (Coding Conventions): Fix wording in a
recent change. (Bug#21440)
Lars Ingebrigtsen [Fri, 16 Jul 2021 10:55:21 +0000 (12:55 +0200)]
Allow hiding variables in Customize
* lisp/cus-edit.el (custom-toggle-hide-variable): Allow closing an
option even if there are unsaved changes (bug#11655).
Remington Furman [Fri, 16 Jul 2021 09:47:36 +0000 (11:47 +0200)]
Make `number-at-point' work for more hex numbers
* lisp/thingatpt.el (number-at-point): Rewrite to actually catch
the hex numbers (bug#49588).
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Fri, 16 Jul 2021 08:56:21 +0000 (10:56 +0200)]
Clarify -unload-feature in Coding Conventions
* doc/lispref/tips.texi (Coding Conventions): Clarify when an
unload function is useful (bug#21440).
Lars Ingebrigtsen [Thu, 15 Jul 2021 23:42:49 +0000 (01:42 +0200)]
Add a couple more shell-tests-split-string tests
Glenn Morris [Thu, 15 Jul 2021 20:19:48 +0000 (13:19 -0700)]
Improve recent jka-compr-compression-info-list change
* lisp/jka-cmpr-hook.el (jka-compr-compression-info-list):
Document previous change, and fix :type.
Tassilo Horn [Thu, 15 Jul 2021 19:51:54 +0000 (21:51 +0200)]
Add bug-reference support for Codeberg projects
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for codeberg.org bug and pull request references.
* doc/emacs/maintaining.texi (Bug Reference): Mention that bug and
pull request references for codeberg projects are supported.
Tassilo Horn [Thu, 15 Jul 2021 19:43:29 +0000 (21:43 +0200)]
Add support for sourcehut to bug-reference.el
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for bug references like #17 and ~user/project#19 for
sourcehut (sr.ht).
* doc/emacs/maintaining.texi (Bug Reference): Document sourcehut
support.
Ori [Thu, 15 Jul 2021 16:57:38 +0000 (18:57 +0200)]
; * lisp/help-fns.el: Speed up `describe-mode'
* lisp/help-fns.el (help-fns--list-local-commands): Speed up (bug#49579).
A predicate checks if there are no key bindings for a given function. A
full list of bindings is not needed, even a single binding is sufficient
to say the function is bound. Set FIRSTONLY arg in where-is-internal so
this predicate runs faster, with functional equivalence. For some
configurations this has a noticeable improvement on the speed of
describe-mode.
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:32:34 +0000 (18:32 +0200)]
Add more car/cdr examples to shortdoc
* lisp/emacs-lisp/shortdoc.el (list): Add more car/cdr examples.
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:29:27 +0000 (18:29 +0200)]
Improve the shortdoc link action in *Help* buffers
* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow
taking an optional parameter to place point on a specific function.
(shortdoc--display-function): Go to the function in question in
the shortdoc buffer.
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:03:36 +0000 (18:03 +0200)]
Add new user option to abbreviate file names in save-place
* lisp/saveplace.el (save-place-abbreviate-file-names): New user
option (bug#13286).
(save-place-to-alist): Use it.
Lars Ingebrigtsen [Thu, 15 Jul 2021 15:36:07 +0000 (17:36 +0200)]
Allow restoring the original order in 'tabulated-list-mode'
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Allow
restoring the original order (bug#13411).
(tabulated-list--sort-by-column-name): Store the original order.
(tabulated-list--original-order): New buffer-local variable.
Protesilaos Stavrou [Thu, 15 Jul 2021 14:20:07 +0000 (17:20 +0300)]
Update modus-themes to version 1.5.0
* doc/misc/modus-themes.org (Enable and load): Include internal link.
(Sample configuration for use-package): Update code sample.
(Customization Options): Update references to customization options.
(Option for more italic constructs): Document new variable, as an
alias of the deprecated 'modus-themes-slanted-constructs'.
(Option for syntax highlighting, Option for links)
(Option for command prompt styles, Option for mode line presentation)
(Option for language checkers)
(Option for line highlighting (hl-line-mode))
(Option for parenthesis matching (show-paren-mode))
(Option for active region, Option for the headings' overall style):
Update documentation to describe new possible values, expressed as a
list of symbols.
(Option for Org agenda constructs): Document new user option.
(Control the scale of headings): Update symbol of variable.
(Remap face with local value (DIY), Backdrop for pdf-tools (DIY)):
Tweak text of internal reference.
(Font configurations for Org and others (DIY)): Add internal link and
document how to configure the 'bold' and 'italic' faces.
(Custom Org user faces (DIY)): Minor corrections or changes to single
words.
(Full support for packages or face groups): Include new items.
(Notes on individual packages): Add notes on Avy hints, the colour of
days in 'M-x calendar', and underlines in 'compilation-mode' buffers.
(What is the best setup for legibility?): Remove single word.
(Acknowledgements): Update list of contributors.
* etc/themes/modus-themes.el (modus-themes-faces)
(modus-themes-operandi-colors, modus-themes-vivendi-colors)
(modus-themes-subtle-red, modus-themes-subtle-green)
(modus-themes-subtle-yellow, modus-themes-subtle-blue)
(modus-themes-subtle-magenta, modus-themes-subtle-cyan)
(modus-themes-subtle-neutral, modus-themes-intense-red)
(modus-themes-intense-green, modus-themes-intense-yellow)
(modus-themes-intense-blue, modus-themes-intense-magenta)
(modus-themes-intense-cyan, modus-themes-intense-neutral)
(modus-themes-refine-red, modus-themes-refine-green)
(modus-themes-refine-yellow, modus-themes-refine-blue)
(modus-themes-refine-magenta, modus-themes-refine-cyan)
(modus-themes-active-red, modus-themes-active-green)
(modus-themes-active-yellow, modus-themes-active-blue)
(modus-themes-active-magenta, modus-themes-active-cyan)
(modus-themes-fringe-red, modus-themes-fringe-green)
(modus-themes-fringe-yellow, modus-themes-fringe-blue)
(modus-themes-fringe-magenta, modus-themes-fringe-cyan)
(modus-themes-nuanced-red, modus-themes-nuanced-green)
(modus-themes-nuanced-yellow, modus-themes-nuanced-blue)
(modus-themes-nuanced-magenta, modus-themes-nuanced-cyan)
(modus-themes-special-cold, modus-themes-special-mild)
(modus-themes-special-warm, modus-themes-special-calm)
(modus-themes-diff-added, modus-themes-diff-changed)
(modus-themes-diff-removed, modus-themes-diff-refine-added)
(modus-themes-diff-refine-changed, modus-themes-diff-refine-removed)
(modus-themes-diff-focus-added, modus-themes-diff-focus-changed)
(modus-themes-diff-focus-removed, modus-themes-diff-heading)
(modus-themes-pseudo-header, modus-themes-mark-alt)
(modus-themes-mark-del, modus-themes-mark-sel, modus-themes-mark-symbol)
(modus-themes-heading-1, modus-themes-heading-2, modus-themes-heading-3)
(modus-themes-heading-4, modus-themes-heading-5, modus-themes-heading-6)
(modus-themes-heading-7, modus-themes-heading-8, modus-themes-hl-line)
(modus-themes-bold, modus-themes-slant, modus-themes-variable-pitch)
(modus-themes-graph-red-0, modus-themes-graph-red-1)
(modus-themes-graph-green-0, modus-themes-graph-green-1)
(modus-themes-graph-yellow-0, modus-themes-graph-yellow-1)
(modus-themes-graph-blue-0, modus-themes-graph-blue-1)
(modus-themes-graph-magenta-0, modus-themes-graph-magenta-1)
(modus-themes-graph-cyan-0, modus-themes-graph-cyan-1)
(modus-themes-lang-note, modus-themes-lang-warning)
(modus-themes-lang-error, modus-themes-reset-soft)
(modus-themes-reset-hard, modus-themes-key-binding)
(modus-themes-search-success, modus-themes-search-success-modeline)
(modus-themes-search-success-lazy): Add new ':group' specification for
custom faces.
(modus-themes-operandi-color-overrides)
(modus-themes-vivendi-color-overrides, modus-themes-bold-constructs)
(modus-themes-variable-pitch-headings, modus-themes-variable-pitch-ui)
(modus-themes-no-mixed-fonts, modus-themes-fringes)
(modus-themes-scale-headings, modus-themes-scale-1, modus-themes-scale-2)
(modus-themes-scale-3, modus-themes-scale-4, modus-themes-scale-title)
(modus-themes-org-blocks, modus-themes-completions)
(modus-themes-success-deuteranopia, modus-themes-mail-citations)
(modus-themes-subtle-line-numbers, modus-themes-intense-hl-line): Add
custom setter.
(modus-themes-scale-5, modus-themes-scale-title): Deprecate variable
and replace it with alias 'modus-themes-scale-title'.
(modus-themes-slanted-constructs, modus-themes-italic-constructs):
Deprecate variable and replace it with alias
'modus-themes-italic-constructs'.
(modus-themes-org-habit, modus-themes-org-agenda): Deprecate variable
and make its functionality a part of 'modus-themes-org-agenda'.
(modus-themes-headings, modus-themes-mode-line, modus-themes-diffs)
(modus-themes-prompts, modus-themes-paren-match, modus-themes-syntax)
(modus-themes-links, modus-themes-region, modus-themes-lang-checkers)
(modus-themes-org-blocks): Make user options accept a value as a list
of properties.
(modus-themes--mixed-fonts, modus-themes--slant)
(modus-themes--fixed-pitch, modus-themes--lang-check)
(modus-themes--prompt, modus-themes--paren)
(modus-themes--syntax-foreground, modus-themes--syntax-extra)
(modus-themes--syntax-string, modus-themes--syntax-docstring)
(modus-themes--syntax-comment, modus-themes--heading-p)
(modus-themes--heading, modus-themes--org-habit)
(modus-themes--mode-line-attrs, modus-themes--link-color)
(modus-themes--link, modus-themes--region, modus-themes--hl-line):
Update internal functions to parse new values for user options.
* etc/themes/modus-operandi-theme.el,
etc/themes/modus-vivendi-theme.el: Bump version number.
A detailed change log is provided here (no javascript required):
<https://protesilaos.com/codelog/2021-07-15-modus-themes-1-5-0/>.
Lars Ingebrigtsen [Thu, 15 Jul 2021 15:04:00 +0000 (17:04 +0200)]
Autoload `split-string-shell-command'
* lisp/shell.el (split-string-shell-command): Autoload.
Eli Zaretskii [Thu, 15 Jul 2021 09:37:26 +0000 (12:37 +0300)]
Fix 'shell-tests-split-string' on MS-Windows
* test/lisp/shell-tests.el (shell-tests-split-string): Skip test
that always fails on MS-Windows/MS-DOS.
Eli Zaretskii [Thu, 15 Jul 2021 09:23:50 +0000 (12:23 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Lars Ingebrigtsen [Thu, 15 Jul 2021 09:22:52 +0000 (11:22 +0200)]
Improve the `window-end' doc string
* src/window.c (Fwindow_end): Be more explicit about what the
position is (bug#13429).
Eli Zaretskii [Thu, 15 Jul 2021 09:22:47 +0000 (12:22 +0300)]
; * etc/NEWS: Fix wording in a recent addition.
Eli Zaretskii [Thu, 15 Jul 2021 09:22:27 +0000 (12:22 +0300)]
; * lisp/gnus/message.el (message-signature-separator): Add :version.
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:37:11 +0000 (10:37 +0200)]
Mention more split-string-* functions in shortdoc
* lisp/emacs-lisp/shortdoc.el (string): Mention
split-string-and-unquote and split-string-shell-command.
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:33:22 +0000 (10:33 +0200)]
Allow using spaces in `inferior-lisp' command names
* lisp/progmodes/inf-lisp.el (inferior-lisp): Allow using spaces
in the command names (by splitting using shell syntax) (bug#16005).
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:29:04 +0000 (10:29 +0200)]
Rename shell-split-string to split-string-shell-command
* lisp/shell.el (split-string-shell-command):
* doc/lispref/processes.texi (Shell Arguments): Rename from
shell-split-string.
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:25:41 +0000 (10:25 +0200)]
Add a new function 'shell-split-string'
* doc/lispref/processes.texi (Shell Arguments): Document it.
* lisp/shell.el (shell-split-string): New function.
Lars Ingebrigtsen [Thu, 15 Jul 2021 05:17:53 +0000 (07:17 +0200)]
Clarify overriding-local-map doc string
* src/keyboard.c (syms_of_keyboard): Clarify
`overriding-local-map' vs. text properties/overlays (bug#16312).
Paul Eggert [Wed, 14 Jul 2021 22:10:06 +0000 (17:10 -0500)]
Pacify gcc -Woverflow more clearly
* src/alloc.c (mark_maybe_pointer): Make it clearer that ANDing
with UINTPTR_MAX is intended. Omit a now-unnecessary cast.
Michael Albinus [Wed, 14 Jul 2021 16:36:14 +0000 (18:36 +0200)]
Preserve backward compatibility in Tramp
* lisp/net/tramp-crypt.el (tramp-crypt-handle-lock-file)
(tramp-crypt-handle-unlock-file): Preserve backward compatibility.
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Do not
create lock file twice.
* lisp/net/tramp.el (tramp-handle-make-lock-file-name): Move lock
file security check ...
(tramp-handle-lock-file): ... here.
(tramp-handle-unlock-file): Preserve backward compatibility.
* test/lisp/net/tramp-tests.el (lock-file-name-transforms)
(remote-file-name-inhibit-locks): Declare.
(tramp-allow-unsafe-temporary-files): Set to t.
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name): Move binding of
`tramp-allow-unsafe-temporary-files' up.
(tramp-test39-lock-file): Bind `tramp-allow-unsafe-temporary-files'.
Preserve backward compatibility. Extend test.
Lars Ingebrigtsen [Wed, 14 Jul 2021 16:08:33 +0000 (18:08 +0200)]
Fontify the signature separator in Message mode
* lisp/gnus/message.el (message-signature-separator): New face
(bug#17757).
(message-font-lock-keywords): Add it to the signature, and ensure
that the trailing space isn't removed when hitting RET.
(message--match-signature): New helper function.
Eli Zaretskii [Wed, 14 Jul 2021 15:54:11 +0000 (18:54 +0300)]
; * src/data.c (Fcar, Fcdr): Doc fix.
Lars Ingebrigtsen [Wed, 14 Jul 2021 15:10:24 +0000 (17:10 +0200)]
Clarify backward-delete-char-untabify doc string
* lisp/simple.el (backward-delete-char-untabify): Mention the
effect of Transient Mark mode (bug#17263).
Lars Ingebrigtsen [Wed, 14 Jul 2021 14:51:26 +0000 (16:51 +0200)]
* etc/NEWS: Add back a missing apostrophe.
Lars Ingebrigtsen [Wed, 14 Jul 2021 14:40:14 +0000 (16:40 +0200)]
switch-to-buffer-other-frame doc string improvement
* lisp/window.el (switch-to-buffer-other-frame): Document that we
don't always display the buffer in a different frame (bug#17719).
Lars Ingebrigtsen [Wed, 14 Jul 2021 10:42:35 +0000 (12:42 +0200)]
Fix hilit-chg highlighting of characters where text has been removed
* lisp/hilit-chg.el (hilit-chg-set-face-on-change): Remove
highlighting from characters that are just highlighted because of
something that has been previously deleted (bug#17784).
Eli Zaretskii [Wed, 14 Jul 2021 12:27:19 +0000 (15:27 +0300)]
Fix deprecation warnings from libtiff
* src/image.c (UINT32) [TIFFLIB_VERSION >=
20210416]: Define to
use stdint.h type for recent libtiff versions. Reported by Andy
Moreton <andrewjmoreton@gmail.com>.
Michael Albinus [Wed, 14 Jul 2021 11:58:04 +0000 (13:58 +0200)]
* etc/NEWS (insert-into-buffer'): Fix thinko.
Lars Ingebrigtsen [Wed, 14 Jul 2021 10:11:52 +0000 (12:11 +0200)]
Make `apropos-library' also work for libraries without symbols
* lisp/apropos.el (apropos--preamble): Factor out (bug#17832)...
(apropos-print-doc): ... from here.
(apropos-library): Use it to display the apropos buffer even if it
has no symbols of its own.
Juri Linkov [Tue, 13 Jul 2021 23:21:17 +0000 (02:21 +0300)]
Revert
e0619995594d1686afd0493391417d6f900d632c that added save-match-data.
* lisp/isearch.el (isearch-filter-predicate): Mention precautions against
clobbering the match data in docstring (bug#49534).
Juri Linkov [Tue, 13 Jul 2021 22:29:53 +0000 (01:29 +0300)]
* lisp/isearch.el: Add save-match-data for funcall isearch-filter-predicate.
* lisp/isearch.el (isearch-search): Add save-match-data before
funcall isearch-filter-predicate.
(isearch-lazy-highlight-search): Add save-match-data before
funcall isearch-filter-predicate.
(Bug#49534)
Lars Ingebrigtsen [Tue, 13 Jul 2021 22:12:45 +0000 (00:12 +0200)]
Add a better interactive spec to `facemenu-add-face'
* lisp/facemenu.el (facemenu-add-face): Use `read-face-name'
(bug#18369) by copying over the interactive spec from
facemenu-set-face.
Lars Ingebrigtsen [Tue, 13 Jul 2021 21:48:04 +0000 (23:48 +0200)]
Make jka-compr-insert-file-contents slightly more efficient
* lisp/jka-compr.el (jka-compr-insert-file-contents): Make more
efficient by using `insert-into-buffer'.
Lars Ingebrigtsen [Tue, 13 Jul 2021 21:46:16 +0000 (23:46 +0200)]
Add new function 'insert-into-buffer'
* doc/lispref/text.texi (Insertion): Document it.
* lisp/subr.el (insert-into-buffer): New function.
Lars Ingebrigtsen [Tue, 13 Jul 2021 21:23:11 +0000 (23:23 +0200)]
Fall back on zlib-decompress-region if gzip doesn't exist
* lisp/jka-cmpr-hook.el (jka-compr-info-uncompress-function): New
function (bug#18823).
(jka-compr-compression-info-list): Expand info with decompression
function.
* lisp/jka-compr.el (jka-compr-insert-file-contents): Fall back on
internal decompression function if external doesn't exist.
Daniel Martín [Tue, 13 Jul 2021 20:09:43 +0000 (22:09 +0200)]
Fix dired-number-of-marked-files when there are no marked files
* lisp/dired.el (dired-number-of-marked-files): Fix if expression so
that the else part is evaluated correctly.
Stefan Monnier [Tue, 13 Jul 2021 20:18:25 +0000 (16:18 -0400)]
* doc/lispref/modes.texi (Multiline Font Lock): Tweak last change
Lars Ingebrigtsen [Tue, 13 Jul 2021 19:48:49 +0000 (21:48 +0200)]
Allow not updating Customize settings in set-frame-font
* lisp/frame.el (set-frame-font): Allow not updating the
Customization settings (bug#19298).
Lars Ingebrigtsen [Tue, 13 Jul 2021 18:21:30 +0000 (20:21 +0200)]
Document the syntax-multilne text property
* doc/lispref/modes.texi (Multiline Font Lock): Document the
syntax-multiline text property (bug#20436).
Juri Linkov [Tue, 13 Jul 2021 19:25:05 +0000 (22:25 +0300)]
Support Isearch filter predicates with empty search hits (bug#49534)
* lisp/isearch.el (isearch-search): Move (= (match-beginning 0) (match-end 0))
and (bobp)/(eobp) outside the call to isearch-filter-predicate.
Use forward-char 1/-1 on empty matches only when going to retry search.
(isearch-lazy-highlight-search): Remove (= (point) bound),
but leave (= (match-beginning 0) (match-end 0)) since empty matches
make no sense in lazy-highlighting.
Lars Ingebrigtsen [Tue, 13 Jul 2021 18:13:21 +0000 (20:13 +0200)]
Make 'tex-validate-buffer' work again
* lisp/textmodes/tex-mode.el (tex-validate-buffer): The *Occur*
buffer is read-only, so inhibit that before inserting things into
it (bug#19326).
Michael Albinus [Tue, 13 Jul 2021 17:50:30 +0000 (19:50 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 13 Jul 2021 17:50:05 +0000 (19:50 +0200)]
Add remote-file-name-inhibit-locks
* doc/emacs/files.texi (Interlocking):
* doc/lispref/files.texi (File Locks):
* doc/misc/tramp.texi (Auto-save File Lock and Backup):
Add remote-file-name-inhibit-locks.
* etc/NEWS: New user option 'remote-file-name-inhibit-locks'.
* lisp/files.el (remote-file-name-inhibit-locks): New defcustom.
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Use `tramp-handle-make-lock-file-name'.
* lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): Fix docstring.
(tramp-handle-make-lock-file-name): New defun.
* test/lisp/net/tramp-tests.el (tramp-test39-lock-file): Extend test.
Lars Ingebrigtsen [Tue, 13 Jul 2021 17:49:50 +0000 (19:49 +0200)]
Add new user option to avoid piling on Dired buffers
* doc/emacs/dired.texi (Dired Visiting): Document it.
* lisp/dired.el (dired-kill-when-opening-new-dired-buffer): New
user option (bug#20598).
(dired-up-directory, dired-find-file): Use it.
(dired--find-possibly-alternative-file): New convenience command
to respect the user option.
Mattias Engdegård [Mon, 12 Jul 2021 11:58:28 +0000 (13:58 +0200)]
Block TLS handshake until TCP connection established
If a TLS handshake is attempted before the completion of an
asynchronous TCP connection has been ascertained, our local state will
not be set up correctly for further progress and the sentinel "open"
event will never be sent. This can occur if sufficient time passes
after the initiation of an async TCP connection so that by the time
`wait_reading_process_output` is called, the connection has already
been established on the TCP level.
This somewhat timing-sensitive bug has plagued HTTPS connections on
some platforms, notably macOS, for a long time (bug#49449).
* src/process.c (wait_reading_process_output): Gate the TLS handshake
by the NON_BLOCKING_CONNECT_FD flag. The flag will be cleared as soon
as the TCP socket is found to be writable.
* test/src/process-tests.el (process-async-https-with-delay):
New test.
Ken Brown [Mon, 12 Jul 2021 13:24:12 +0000 (09:24 -0400)]
Fix portability issue with make-serial-process
* src/sysdep.c (struct speed_struct): New struct.
(speeds): New static array of struct speed_struct.
(convert_speed): New static function to convert a numerical baud
rate (e.g., 9600) to a Bnnn constant defined in termios.h (e.g.,
B9600).
(serial_configure): Use convert_speed to make the call to cfsetspeed
compliant with its advertised API. (Bug#49524)
Eli Zaretskii [Tue, 13 Jul 2021 12:03:59 +0000 (15:03 +0300)]
One more minor update of the Emacs manual for 19th printing
* doc/emacs/back.texi:
* doc/emacs/book-spine.texi:
* doc/emacs/emacs.texi: Last round of minor copyedits for 19th ed.
Basil L. Contovounesios [Mon, 12 Jul 2021 14:02:14 +0000 (15:02 +0100)]
; * doc/lispref/intro.texi (Caveats): Fix paren.
Michael Albinus [Mon, 12 Jul 2021 13:49:50 +0000 (15:49 +0200)]
Fix a problem with tramp-*-process-file
* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
Use `(expand-file-name default-directory)'.
Paul Eggert [Mon, 12 Jul 2021 07:11:22 +0000 (00:11 -0700)]
Port test module to glibc 2.33
* test/Makefile.in (REPLACE_FREE, FREE_SOURCE_0, FREE_SOURCE_1):
New macros.
($(test_module)): Improve accuracy of test as to whether free.c
should be compiled; glibc 2.33 does not need it compiled and the
compilation breaks if you try, if you build with
--enable-gcc-warnings.
Paul Eggert [Mon, 12 Jul 2021 07:07:38 +0000 (00:07 -0700)]
Pacify gcc 11.1.1 -Wclobbered
* src/eval.c (Fprogn, internal_lisp_condition_case):
Add CACHEABLE to work around more instances of -Wclobbered bug.
Paul Eggert [Mon, 12 Jul 2021 07:06:34 +0000 (00:06 -0700)]
Pacify gcc 11.1.1 -Wanalyzer-possible-null-dereference
* oldXMenu/Create.c (XMenuCreate):
* oldXMenu/Internal.c (_XMRecomputePane, _XMRecomputeSelection):
* oldXMenu/XMakeAssoc.c (XMakeAssoc):
* test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make):
Don’t assume that malloc and calloc succeed.
Paul Eggert [Mon, 12 Jul 2021 07:00:20 +0000 (00:00 -0700)]
Pacify gcc 11.1.1 -Wanalyzer-null-argument
* lib-src/etags.c (regexp): Omit member force_explicit_name,
since it’s always true. All uses removed. This lets us
remove calls to strlen (name) where GCC isn’t smart enough
to deduce that name must be nonnull.
* lib-src/movemail.c (main): Fix bug that could cause
link (tempname, NULL) to be called.
* src/emacs.c (argmatch): Break check into two ‘if’s,
since GCC doesn’t seem to be smart enough to check the single ‘if’.
* src/gtkutil.c (xg_update_menu_item): Fix bug where strcmp
could be given a NULL arg.
* src/xfont.c (xfont_list_family): Use nonnull value for dummy
initial value.
Paul Eggert [Mon, 12 Jul 2021 06:54:32 +0000 (23:54 -0700)]
Pacify gcc -Woverflow more nicely
* src/alloc.c (mark_maybe_pointer): Simplify pacification
of gcc -Woverflow (unknown GCC version).
Juri Linkov [Sun, 11 Jul 2021 23:45:51 +0000 (02:45 +0300)]
* lisp/textmodes/enriched.el: Require 'facemenu' (bug#49466)
Eric Abrahamsen [Sun, 11 Jul 2021 16:00:33 +0000 (09:00 -0700)]
Further tweaks to gnus-search-query-expand-key
* lisp/gnus/gnus-search.el (gnus-search-query-expand-key): It's
possible that KEY could be partially completed (ie no longer string=
to COMP), but not all the way. Use a more accurate test. Add
docstring.
Michael Albinus [Sun, 11 Jul 2021 15:41:33 +0000 (17:41 +0200)]
Use `auto-save-file-name-p' in tramp-*-write-region
* lisp/net/tramp.el (tramp-handle-write-region):
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
Use `auto-save-file-name-p'.
Eli Zaretskii [Sun, 11 Jul 2021 15:22:51 +0000 (18:22 +0300)]
Fix compilation of the --with-wide-int configuration
* src/alloc.c (mark_maybe_pointer): Fix a recent change for
WIDE_EMACS_INT builds. (Bug#49261)
Basil L. Contovounesios [Sun, 11 Jul 2021 10:55:31 +0000 (11:55 +0100)]
; Fix misspellings of 'occurrence' in docs.
Eli Zaretskii [Sun, 11 Jul 2021 10:15:34 +0000 (13:15 +0300)]
; * doc/lispref/text.texi (Substitution): Fix a recent change.
Paul Eggert [Sun, 11 Jul 2021 08:12:00 +0000 (01:12 -0700)]
Pacify GCC 11.1.1
20210531 (Red Hat 11.1.1-3)
* src/image.c (xpm_load_image):
* src/xfns.c (x_icon):
Rework to pacify gcc -Wmaybe-uninitialized.
Paul Eggert [Sun, 11 Jul 2021 07:54:32 +0000 (00:54 -0700)]
Make pdumper-marking pickier
Prevent some false-positives in conservative GC marking.
This doesn’t fix any correctness bugs; it’s merely to
reclaim some memory instead of keeping it unnecessarily.
* src/alloc.c (mark_maybe_pointer): New arg SYMBOL_ONLY.
All callers changed. Check that the pointer’s tag, if any,
matches the pdumper-reported type.
Paul Eggert [Sun, 11 Jul 2021 07:27:43 +0000 (00:27 -0700)]
Fix pdumper-related GC bug
* src/alloc.c (mark_maybe_pointer): Also mark pointers
to pdumper objects, even when the pointers are tagged.
Add a FIXME saying why this isn’t enough.
Eric Abrahamsen [Sat, 10 Jul 2021 17:00:32 +0000 (10:00 -0700)]
Rewrite gnus-search-query-expand-key
* lisp/gnus/gnus-search.el (gnus-search-query-expand-key): There was a
misunderstanding about how completion-all-completion works (if the
test string can't be completed, the whole table is returned). Simplify
to use try-completion.
* test/lisp/gnus/gnus-search-tests.el (gnus-s-expand-keyword): Ensure
that an unknown/uncompletable keyword is returned unmolested.
Eric Abrahamsen [Sat, 26 Jun 2021 17:16:19 +0000 (10:16 -0700)]
Rework gnus-search-indexed-parse-output
* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more
careful about matching filesystem paths to Gnus group names; make
absolutely sure that we only return valid article numbers.
Matthew White [Sat, 10 Jul 2021 22:49:12 +0000 (00:49 +0200)]
* src/buffer.c (kill-buffer): Fix a typo.
* src/buffer.c (Fkill_buffer): Fix typo in comment.
Filipp Gunbin [Sat, 10 Jul 2021 17:00:01 +0000 (19:00 +0200)]
doc/lispref/text.texi (Substitution): Add subst-char-in-string
* doc/lispref/text.texi (Substitution): Document
subst-char-in-string (bug#49420).
Lars Ingebrigtsen [Sat, 10 Jul 2021 16:53:28 +0000 (18:53 +0200)]
Make package-menu-filter-by-status work as documented
* lisp/emacs-lisp/package.el (package-menu-filter-by-status): Work
as documented (bug#49474).
Ken Brown [Fri, 9 Jul 2021 20:37:52 +0000 (16:37 -0400)]
Skip a process test on Cygwin to avoid hang
* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-network-process): Skip
test on Cygwin to avoid hang due to connect/accept handshake.
(Bug#49496)
Stefan Monnier [Fri, 9 Jul 2021 19:53:38 +0000 (15:53 -0400)]
* lisp/facemenu.el: Preload the C-mouse-2 menu binding
Michael Albinus [Fri, 9 Jul 2021 16:14:19 +0000 (18:14 +0200)]
Further cleanup for file locks
* doc/misc/tramp.texi (Top, Configuration): Adapt node name for
file locks.
(Auto-save File Lock and Backup): Rename node name and section
title. Add file-lock to @cindex. Describe file locks.
* lisp/dired.el (dired-trivial-filenames): Add lock files.
(dired-font-lock-keywords): Move files suffixed with
`completion-ignored-extensions' up. Add lock files to these checks.
* lisp/net/tramp.el (tramp-get-lock-file, tramp-handle-unlock-file):
Use `when-let'
(tramp-lock-file-info-regexp): Rename from
`tramp-lock-file-contents-regexp'.
(tramp-handle-file-locked-p, tramp-handle-lock-file): Adapt callees.
(tramp-handle-lock-file): Set file modes of lockname.
* src/buffer.c (Frestore_buffer_modified_p):
* src/fileio.c (write_region):
* src/insdel.c (prepare_to_modify_buffer_1): Call Flock_file.
* src/filelock.c (Qmake_lock_file_name): Declare symbol.
(make_lock_file_name): Use it. Don't check Fboundp, it doesn't
work for interned symbols.
(lock_file): Return a Lisp_Object. Don't check create_lockfiles.
Remove MSDOS version of the function.
(Flock_file): Check create_lockfiles.
(Flock_buffer): Call Flock_file.
* src/lisp.h (lock_file): Remove.
* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo)
(shadow-test09-shadow-copy-files): Let-bind `create-lockfiles'.
* test/lisp/net/tramp-tests.el (create-lockfiles): Don't set it
globally.
(tramp-test39-lock-file): Check also for `set-visited-file-name'.
Basil L. Contovounesios [Fri, 9 Jul 2021 13:37:50 +0000 (14:37 +0100)]
; Fix let-alist Texinfo markup
* doc/lispref/lists.texi (Association Lists): Use
@result (bug#34842).
Eli Zaretskii [Fri, 9 Jul 2021 11:37:49 +0000 (14:37 +0300)]
Partially restore the lost C-mouse-2 drop-down menu
This allows to pop up the Text Properties menu once facemenu is
loaded. It still doesn't allow C-mouse-2 clicks without manually
loading facemenu; FIXME.
* lisp/facemenu.el (global-map) <C-down-mouse-2>: Add back the
removed binding. (Bug#49466)
Stefan Monnier [Fri, 9 Jul 2021 03:00:03 +0000 (23:00 -0400)]
* lisp/outline.el (outline-mode-cycle-map): Don't bind `tab`.
Since it would take precedence over bindings for TAB in higher
precedence maps.